#ifndef FUNCTION_H
#define FUNCTION_H
#include <functional>
#include <iostream>

// 主要用来实践std::function
// 总结：和以前的函数指针基本一致

class Foo
{
public:
  //  Foo(int num) : m_num(num) {}

    void print_add(int i) const
    {
        std::cout << m_num + i << '\n';
    }

    void operator ()(int i) const
    {
        std::cout << i << std::endl;
    }

    int m_num;
};

void print_num(int i);
void print_num_1(int i, int j);

class PrintNum
{
public:
    void operator ()(int i) const
    {
        std::cout << i << std::endl;
    }
};

void Test();


#endif // FUNCTION_H
